MySQL
Mysql 性能优化方法汇总
1、添加索引 2、合适的数据类型 尽可能小、尽可能定长、尽可能使用整数; 尽量使用对应的数据类型。比如,不要用字符串类型保存时间,用整型保存IP。 选择更小的数据类型。能用TinyInt不用Int。 3、当只要一行数据时使用 LIMIT 1 当你查询表的有些时候,你已经知道结果只会有一条结果,但因为你可能需要去fetc ...
MySql 索引介绍
索引是存储在一张表中特定列上的数据结构,索引是在列上创建的。并且,索引是一种数据结构。 索引作用 在索引列上,除了有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。 索引类型 主键索引:PRIMARY KEY,PRI ...
MySQL不能远程连接解决方法
mysql不能远程连接主要从以下3个方面着手解决: 1、如果是云服务器自建检查其安全组规则,查看一下是否放行了3306端口。 2、如果是云数据库检查是否开通外网,或内外网是否允许指定ip访问 3、在mysql库user表中添加一个用户 主机为 % 的任意主机(也可以编辑已有的用户),如果要指定IP远程访问,创建一个 主 ...
MySQL 基础架构
从MySQL 架构上来说,可以把 MySQL 拆解成几部分,如下图所示 大致上来说,MySQL 可以分为 Server层和 存储引擎层。 Server 层包括连接器、查询缓存、分析器、优化器、执行器,包括大多数 MySQL 中的核心功能,所有跨存储引擎的功能也在这一层实现,包括 存储过程、触发器、视图等。 存储引擎层 ...
MySql 单表分页 Limit 性能优化
主要针对记录非常多的表 常用分页sql语句: select * from product limit start, count 当起始页较小时,查询没有性能问题,我们分别看下从10, 100, 1000, 10000开始分页的执行时间(每页取20条), 如下: select * from product limit ...
MySQL中当字段值为 `NULL` 时的注意事项
在MySQL中,当字段值为 NULL 时,它们通常不会参与常规的大小比较。在比较操作中,NULL 与任何其他值(包括另一个 NULL 值)进行比较时都不会被视为相等,也不会根据大小关系得出明确的结果。这是因为 NULL 代表未知或缺失的值,它不具有明确的大小属性。 以下是一些与 NULL 值比较相关的规则: 等值比 ...
MySQL 创建索引报错 "Specified key was too long; max key length is 767 bytes" 原因
在MySQL中,一般我们会给varchar类型设置255长度,但当我们给该字段设置索引时可能会报以下错误: #1071 - Specified key was too long; max key length is 767 bytes 报错原因: 767字节是 MySQL 版本5.6(以及以前版本)中 InnoDB 表 ...
MySql 定位和分析执行效率的方法
1、通过慢查询日志 slow.log 定位执行效率低的SQL MySQL开启慢查询日志,跑一段时间后拿日志中的慢查询语句进行 explain 分析。 2、通过 explain 分析低效 SQL 语句的执行计划 查询到效率低的 sql 语句后,可以通过 explain 分析低效 SQL 的执行计划。看是否可以基于索引查询 ...
MySql 字段类型说明和推荐
char(M)和varchar(M)的区别: char的长度是不可变的,而varchar的长度是可变的; char(M)定义的列的长度为固定的,M取值可以为0~255之间; varchar(M)定义的列的长度为可变长,M取值可以为0~65535之间; 注意这里的 M 是字符数,可以是M个汉字也可以是M个英文字母,与语言 ...
高并发系统数据库架构设计
在WEB网站的规模从小到大不断扩展的过程中,数据库的访问压力也不断的增加,数据库的架构也需要动态扩展,在数据库的扩展过程基本上包含如下几步,每一个扩展都可以比上一步骤的部署方式的性能得到数量级的提升。 WEB应用和数据库部署在同一台服务器上 一般的小规模的网站采用这种方式,用户量、数据量、并发访问量都比较小,否则单台服 ...